home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Item MB Quick & Easy 2.0
/
Item MB Quick & Easy 2.0.iso
/
mbfacad
/
eaitpro8.lsp
< prev
next >
Wrap
Lisp/Scheme
|
1998-03-15
|
9KB
|
197 lines
;---------Unterfunktion zur Profilzeichnung 8er-Nut
;--------------------------------------------------------------------------
; Wird neues Profil erstellt, trage die Liste mit den Punkten der Quer-
; linien ein (siehe erstes SETQ) und fⁿge eine entsprechende Zeile in der
; ersten COND - Anweisung ein !!!!
;
; PROFIL mu▀ eine String entsprechend aus erster COND- Anweisung sein
; EPKT ist Einfⁿgepkt.
; LA ist Laenge des Profils
; WIN ist Einfⁿgewinkel
; KRI ist Konstruktionsrichtung
;--------------------------------------------------------------------------
(defun EAITpro8 (PROFIL EPKT LA WIN KRI / SS1 LI LI1 LI2 LI3 LI4 LI5 LI6 LI7 LI8 LI9
LIN END1 WIZ N Z)
;--------Listen der Profil-Linien
(setvar "OSMODE" 0)
(setq LI1 '(40)
LI2 '(80)
LI3 '(36 44 76 84 116 124 160)
LI4 '(16 24 40)
LI5 '(16 24 56 64 80)
LI6 '(16 24 56 64 96 104 136 144 160)
LI7 '(16 24 58)
LI8 '(17 32)
LI9 '(40)
LI10 '(16 24 56 64 96 104 118)
LI11 '(16 24 37.5 42.5 56 64 77.5 82.5 96 104 117.5 122.5 136 144 160)
LI12 '(160)
LI13 '(5.5 10.5 16)
LI14 '(5 13 18)
LI15 '(32)
LI16 '(4 14 18)
LI17 '(16)
LI18 '(16 24 56 64 80)
LI19 '(28)
LI20 '(16 24 56 64 96 104 120)
LI21 '(16 24 56.6 60.1 80)
LI22 '(2.5 5 6 9 11.5 28.5 31 34 35 37.5 40)
LI23 '(54.8)
LI24 '(39 42.5 45.25 54.8)
LI25 '(9.5 25.5 33.5 54.8)
LI26 '(38.5)
LI27 '(18.5 27.5 31.5 38.5)
LI28 '(4.1 20.1 28.1 44)
LI29 '(67.7)
LI30 '(48 53.5 56 67.7)
LI31 '(34.6 42.6 58.5)
LI32 '(80)
LI33 '(40 56 64 80)
LI34 '(2.5 4 36 37.5 40)
LI35 '(10 12.5 15 65 67.5 70 80)
LI36 '(10 12.5 15 26 54 65 67.5 70 80)
LI37 '(10 12.5 15 27.75 52.25 65 67.5 70 80)
LI38 '(18)
LI39 '(2 18)
LI40 '(2 5 7.5)
LI41 '(8.5 11.5 13.5 20)
LI42 '(2 4)
LI43 '(4)
)
(cond ((= PROFIL "40x16")(setq LI LI1))
((= PROFIL "80x16")(setq LI LI2))
((= PROFIL "160x28")(setq LI LI3))
((= PROFIL "40x40")(setq LI LI4))
((= PROFIL "80x40")(setq LI LI5))
((= PROFIL "160x40")(setq LI LI6))
((= PROFIL "LAUF 6 D1")(setq LI LI7))
((= PROFIL "LAUF 6 S1")(setq LI LI8))
((= PROFIL "40x40-45")(setq LI LI9))
((= PROFIL "LAUF 25 S1")(setq LI LI10))
((= PROFIL "160x16s1")(setq LI LI11))
((= PROFIL "160x16s2")(setq LI LI12))
((= PROFIL "160x16s3")(setq LI LI13))
((= PROFIL "32x18s1")(setq LI LI14))
((= PROFIL "32x18s2")(setq LI LI15))
((= PROFIL "32x18s3")(setq LI LI16))
((= PROFIL "40x16-2")(setq LI LI17))
((= PROFIL "80x80")(setq LI LI18))
((= PROFIL "160x28-2")(setq LI LI19))
((= PROFIL "120x40")(setq LI LI20))
((= PROFIL "80x80-45")(setq LI LI21))
((= PROFIL "VERB")(setq LI LI22))
((= PROFIL "R40/80-45-1")(setq LI LI23))
((= PROFIL "R40/80-45-2")(setq LI LI24))
((= PROFIL "R40/80-45-3")(setq LI LI25))
((= PROFIL "R40/80-30-1")(setq LI LI26))
((= PROFIL "R40/80-30-2")(setq LI LI27))
((= PROFIL "R40/80-30-3")(setq LI LI28))
((= PROFIL "R40/80-60-1")(setq LI LI29))
((= PROFIL "R40/80-60-2")(setq LI LI30))
((= PROFIL "R40/80-60-3")(setq LI LI31))
((= PROFIL "R40/80-90-1")(setq LI LI32))
((= PROFIL "R40/80-90-2")(setq LI LI33))
((= PROFIL "ABDECK 32")(setq LI LI34))
((= PROFIL "STAND1")(setq LI LI35))
((= PROFIL "STAND2")(setq LI LI36))
((= PROFIL "STANDK")(setq LI LI37))
((= PROFIL "WINKEL1")(setq LI LI38))
((= PROFIL "WINKEL2")(setq LI LI39))
((= PROFIL "WSL AL E")(setq LI LI40))
((= PROFIL "WSL AL")(setq LI LI41))
((= PROFIL "ABDECKP 32x4")(setq LI LI42))
((= PROFIL "GLEITLEISTE")(setq LI LI43))
);cond
;---------Bedingungen fⁿr Quadranten
(cond ((AND (<= WIN KRI)(< KRI (+ WIN(/ Pi 2))));I. Quadrant
(setq WIN WIN ;
WIZ (+ WIN (/ Pi 2)) ;
) ;
) ;I. Quadrant
((AND (<= (+ WIN(/ Pi 2)) KRI)(< KRI (+ WIN Pi))); II. Quadrant
(setq WIN (+ WIN Pi) ;
WIZ (- WIN (/ Pi 2)) ;
) ;
) ; II. Quadrant
((AND (<= (+ WIN Pi) KRI)(< KRI (+ WIN (/(* Pi 3)2)))); III.Quadrant
(setq WIN (+ WIN Pi) ;
WIZ (+ WIN (/ Pi 2)) ;
) ;
) ; III. Quadrant
(T ; IV. Quadrant
(setq WIN WIN ;
WIZ (- WIN (/ Pi 2)) ;
) ;
) ; IV. Quadrant
);cond
(setq WINFO (/ (+ WIN WIZ) 2)) ;Winkel fⁿr MB-INFO - Punkt
;-----------Zeichnen der Profil-Grundlinie
(command EAITlay EAITlse "EAIT50" "")
(setq END1 (polar EPKT WIN LA))
(command EAITlin EPKT END1 "")
(setq LIN (entlast)
SS1 (ssadd (entlast))
Z -1
)
;-----------Zeichnen des restlichen Profils
(foreach N LI
(command EAITkop LIN "" EPKT (polar EPKT WIZ N))
(setq SS1 (ssadd (entlast) SS1))
(setq Z (1+ Z))
);foreach
(command EAITlin EPKT (polar EPKT WIZ (nth Z LI)) "") ;Seiten-Linie d. Profils
(setq SS1 (ssadd (entlast) SS1))
(command EAITlin END1 (polar END1 WIZ (nth Z LI)) "") ;Seiten-Linie d. Profils
(setq SS1 (ssadd (entlast) SS1))
(if (= LI LI9)
(progn
(command EAITlay EAITlse "EAIT25" "")
(command EAITlin (polar EPKT WIZ 12)(polar END1 WIZ 12) "")
(setq SS1 (ssadd (entlast) SS1))
)
)
(if (= LI LI21)
(progn
(command EAITlay EAITlse "EAIT25" "")
(command EAITlin (polar EPKT WIZ 40)(polar END1 WIZ 40) "")
(command EAITlin (polar EPKT WIZ 62.8)(polar END1 WIZ 62.8) "")
(setq SS1 (ssadd (entlast) SS1))
)
)
(if (= LI LI40)
(progn
(command EAITlay EAITlse "EAITstpg" "")
(command EAITlin (polar EPKT WIZ 3.5)(polar END1 WIZ 3.5) "")
(setq SS1 (ssadd (entlast) SS1))
)
)
(if (= LI LI41)
(progn
(command EAITlay EAITlse "EAITstpg" "")
(command EAITlin (polar EPKT WIZ 10)(polar END1 WIZ 10) "")
(setq SS1 (ssadd (entlast) SS1))
)
)
;-----------Block bilden
(setq BName (EAITbnr))
(command EAITblo BName EPKT SS1 ""
EAITege BName EPKT "" "" "" )
);defun EAITpro8